package com.eastelsoft.smartiot.bssserver.model;

import java.util.HashMap;
import java.util.Map;

public class ErrorCode {
	public final static String ECODE_SUCCESS = "0";//成功
	public final static String ECODE_SYSBUSI = "-1";//系统繁忙
	public final static String ECODE_SYSFAIL = "-2";//系统内部错误
	public final static String ECODE_INTERF_LIMIT = "-3";//接口调用次数超过限制
	public final static String ECODE_PARAM_MISSING = "100";//缺少参数 {0}
	public final static String ECODE_PARAM_FORMAT_ERR = "101";//参数 {0} 格式错误，输入值为 {1}，合法值为 {2}
	public final static String ECODE_TIMEOUT= "110";//操作 {0} 超时，超时时间 {1}{2}
	public final static String ECODE_VERSION_INVALID = "120";//版本 {0} 过低，支持的最低版本是 {1}
	public final static String ECODE_TOKEN_INVALID = "1001";//token{}不合法
	public final static String ECODE_APP_INVALID = "1002";//拒绝服务，无法识别的客户端或者网关
	public final static String ECODE_PASSWD_INVALID = "1003";//密码中包含非法字符
	public final static String ECODE_PASSWD_LENGTH_INVALID = "1004";//密码长度不符合要求，密码太短或超长
	public final static String ECODE_PASSWD_QUELIFY_INVALID = "1005";//密码强度不达要求
	public final static String ECODE_ACCOUNT_ALREADY_EXISTS = "1006";//帐号 {0} 已存在，你不能注册
	public final static String ECODE_ACCOUNT_OR_PASSWD_ERR = "1007";//帐号或密码错误
	public final static String ECODE_VCOE_INVALID = "1008";//验证码{0} 不存在或已过期
	public final static String ECODE_ACCOUNT_NOT_VERIFIED = "1009";//用户登陆帐号未激活
	public final static String ECODE_PRODUCTID_ERR = "1090";//ProductId {0} 不存在
	public final static String ECODE_MOBILE_NUMBER = "1402";//帐号不是有效的手机号
	public final static String ECODE_ACCOUNT_NOT_EXIT = "1202";//帐号不存在
	public final static int  ERROR_APPID=1450;
	public final static int ERROR_REFRESHTOKEN=1453;
	public final static int ERROR_APPID_APPKEY=1451;
	public final static int ERROR_CODE=1452;
	public final static int ERROR_ACCESSTOKEN=1454;
	public final static int ERROR_OPENID=1455;
	public final static int ERROR_TIMESTAMP_INVALID=1488;//时间戳已过期（超过当前时间五分钟）
	public final static int ERROR_UNDINGYI=9999;//未定义
	
	private final static Map<String, String> errorCodeMap = new HashMap<String, String>();
	static
	{
		errorCodeMap.put(ECODE_SUCCESS, "成功");
		errorCodeMap.put(ECODE_SYSBUSI, "系统繁忙");
		errorCodeMap.put(ECODE_SYSFAIL, "系统内部错误");
		errorCodeMap.put(ECODE_PARAM_MISSING, "缺少参数 {0}");
		errorCodeMap.put(ECODE_PARAM_FORMAT_ERR, "参数 {0} 格式错误，输入值为 {1}，合法值为 {2}");
		errorCodeMap.put(ECODE_TIMEOUT, "操作 {0} 超时，超时时间 {1}{2}");
		errorCodeMap.put(ECODE_VERSION_INVALID, "当前版本 {0} 过低，支持的最低版本是 {1}");
		errorCodeMap.put(ECODE_TOKEN_INVALID, "Token {0} 非法");
		errorCodeMap.put(ECODE_APP_INVALID, "拒绝服务，无法识别的客户端或者网关");
		errorCodeMap.put(ECODE_ACCOUNT_OR_PASSWD_ERR, "帐号或密码错误");
		errorCodeMap.put(ECODE_VCOE_INVALID, "验证码{0} 不存在或已过期");
		errorCodeMap.put(ECODE_ACCOUNT_NOT_VERIFIED, "用户登陆帐号未激活");
		errorCodeMap.put(ECODE_ACCOUNT_ALREADY_EXISTS, "帐号 {0} 已存在，你不能注册");
		errorCodeMap.put(ECODE_INTERF_LIMIT, "接口调用次数超过限制");
		errorCodeMap.put(ECODE_PRODUCTID_ERR, "ProductId {0} 不存在");
		errorCodeMap.put(ECODE_PASSWD_INVALID, "密码中包含非法字符");
		errorCodeMap.put(ECODE_PASSWD_LENGTH_INVALID, "密码长度不符合要求，密码太短或超长");
		errorCodeMap.put(ECODE_PASSWD_QUELIFY_INVALID, "密码强度不达要求");
		errorCodeMap.put(ECODE_MOBILE_NUMBER, "帐号不是有效的手机号");
		errorCodeMap.put(ECODE_ACCOUNT_NOT_EXIT, "帐号不存在");
	}
	public static String getEmsg(String ecode) {
		String emsg = errorCodeMap.get(ecode);
		if (emsg == null) {
			emsg = "错误描述信息未定义";
		}
		return emsg;
	}
}
